#pragma once
#include "diapplication.h"

class DGame;

namespace sf
{
	class VideoMode;
	class RenderWindow;
}

class DApplicationSFML :
	public DIApplication
{
public:
	DApplicationSFML(void);
	~DApplicationSFML(void);

	void init();
	void run();
	void cleanup();
private:
	void update(float dt);
	void render();
	void createAppWindow(const sf::VideoMode& videoMode, const std::string& windowTitle, bool bFullScreen = false);
	boost::shared_ptr<sf::RenderWindow> m_device;
    boost::shared_ptr<DGame> m_game;
};
